home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 1
/
CU Amiga Magazine CD-ROM Special Edition (1995)(EMAP Images)(GB)[Issue 1995-11].iso
/
Aminet
/
comm
/
tcp
/
AmigaTCP.lha
/
AmigaTCP
/
src
/
ax25.h
< prev
next >
Wrap
C/C++ Source or Header
|
1989-06-24
|
2KB
|
54 lines
/* Control field templates */
#define I 0x00 /* Information frames */
#define S 0x01 /* Supervisory frames */
#define RR 0x01 /* Receiver ready */
#define RNR 0x05 /* Receiver not ready */
#define REJ 0x09 /* Reject */
#define U 0x03 /* Unnumbered frames */
#define SABM 0x2f /* Set Asynchronous Balanced Mode */
#define DISC 0x43 /* Disconnect */
#define DM 0x0f /* Disconnected mode */
#define UA 0x63 /* Unnumbered acknowledge */
#define FRMR 0x87 /* Frame reject */
#define UI 0x03 /* Unnumbered information */
#define PF 0x10 /* Poll/final bit */
/* FRMR reason bits */
#define W 1 /* Invalid control field */
#define X 2 /* Unallowed I-field */
#define Y 4 /* Too-long I-field */
#define Z 8 /* Invalid sequence number */
/* Format of an AX.25 address - left-shifted callsign plus sub station ID */
#define ALEN 6 /* Number of chars in callsign field */
struct ax25_addr {
char call[ALEN];
char ssid;
};
/*
* It seems that some compilers (on VAX and 68K hardware) round up
* structure sizes to quad- or double-byte boundaries. Hmm..
*/
/* AX.25 address length (7 bytes) */
#define AXALEN (ALEN+1) /* (sizeof(struct ax25_addr)) */
/* SSID address byte definitions */
#define SSID 0x1e /* Sub station ID */
#define REPEATED 0x80 /* Has-been-repeated bit in repeater field */
#define E 0x01 /* Address extension bit */
#define C 0x80 /* Command/response designation */
#define UNKNOWN 0
#define COMMAND 1
#define RESPONSE 2
#define PID_ARP 0xcd /* AX.25 Level 3 PID for ARP */
#define PID_IP 0xcc /* AX.25 Level 3 PID for IP */
#define PID_NETROM 0xcf /* AX.25 Level 3 PID for NET/ROM frames */
/* Our AX.25 address */
extern struct ax25_addr mycall;
/* AX.25 broadcast address: "QST -0" in shifted ASCII */
extern struct ax25_addr ax25_bdcst;